home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / util / HashVector.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  1.6 KB  |  65 lines

  1. package com.extensibility.util;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Hashtable;
  5. import java.util.Vector;
  6.  
  7. public class HashVector extends Hashtable {
  8.    private static Vector EMPTY_VECTOR = new Vector();
  9.  
  10.    public Object put(Object var1, Object var2) {
  11.       if (var2 instanceof Vector) {
  12.          return super.put(var1, var2);
  13.       } else {
  14.          Vector var3 = (Vector)((Hashtable)this).get(var1);
  15.          if (var3 == null) {
  16.             var3 = new Vector();
  17.             super.put(var1, var3);
  18.          }
  19.  
  20.          var3.addElement(var2);
  21.          return var3;
  22.       }
  23.    }
  24.  
  25.    public Vector getVector(Object var1) {
  26.       Vector var2 = (Vector)((Hashtable)this).get(var1);
  27.       return var2 != null ? var2 : EMPTY_VECTOR;
  28.    }
  29.  
  30.    public void remove(Object var1, Object var2) {
  31.       Vector var3 = this.getVector(var1);
  32.       if (var3 != null) {
  33.          var3.removeElement(var2);
  34.          if (var3.isEmpty()) {
  35.             ((Hashtable)this).remove(var1);
  36.          }
  37.       }
  38.  
  39.    }
  40.  
  41.    public Enumeration vectors() {
  42.       return ((Hashtable)this).elements();
  43.    }
  44.  
  45.    public Enumeration subelements() {
  46.       Enumeration var1 = super.elements();
  47.       return new 1(var1, (HashVector)null);
  48.    }
  49.  
  50.    public int vectorCount() {
  51.       return ((Hashtable)this).size();
  52.    }
  53.  
  54.    public int subelementCount() {
  55.       int var1 = 0;
  56.  
  57.       Vector var3;
  58.       for(Enumeration var2 = this.vectors(); var2.hasMoreElements(); var1 += var3.size()) {
  59.          var3 = (Vector)var2.nextElement();
  60.       }
  61.  
  62.       return var1;
  63.    }
  64. }
  65.